package com.game.Maze.Objects;

/**
 * Объект, реализующий ячейку в лабиринте
 *
 */
public class Cell
{
  CellType m_Type;
  
  public Cell()
  {
    m_Type = CellType.Uniused;
  }
  
  /**
   * Делает ячейку лабиринта стеной
   */
  public void makeWall()
  {
    m_Type = CellType.Wall;
  }
  
  /**
   * Делает ячейку лабиринта проходом
   */
  public void makePassage()
  {
    m_Type = CellType.Passage;
  }
  
  /**
   * @return истину, если ячейка является стеной
   */
  public boolean isWall()
  {
    return (CellType.Wall == m_Type);
  }
  
  /**
   * @return истину, если ячейка является проходом
   */
  public boolean isPassage()
  {
    return (CellType.Passage == m_Type);
  }
  
  /**
   * @return истину, если ячейка используется в лабиринте
   */
  public boolean isUsed()
  {
    return (CellType.Uniused == m_Type);
  }  
}
